home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / NEW_TECH / MENTC.ZIP / EDEF.H < prev    next >
Text File  |  1993-04-18  |  18KB  |  370 lines

  1. /*    EDEF:        Global variable definitions for
  2.             MicroEMACS 3.9
  3.  
  4.                         written by Daniel Lawrence
  5.                         based on code by Dave G. Conroy,
  6.                             Steve Wilhite and George Jones
  7. */
  8.  
  9. #ifdef    maindef
  10.  
  11. /* for MAIN.C */
  12.  
  13. /* initialized global definitions */
  14.  
  15. NOSHARE int DNEAR fillcol = 70;     /* Current fill column        */
  16. NOSHARE short kbdm[NKBDM];        /* Macro            */
  17. NOSHARE char *execstr = NULL;        /* pointer to string to execute */
  18. NOSHARE char golabel[NPAT] = "";    /* current line to go to    */
  19. NOSHARE char paralead[NPAT] = " \t";    /* paragraph leadin chars    */
  20. NOSHARE char fmtlead[NPAT] = "";    /* format command leadin chars    */
  21. NOSHARE char mainbuf[] = "main";    /* name of main buffer        */
  22. NOSHARE char lterm[NSTRING];        /* line terminators on file write */
  23. NOSHARE unsigned char wordlist[256];    /* characters considered "in words" */
  24. NOSHARE int DNEAR wlflag = FALSE;    /* word list enabled flag    */
  25. NOSHARE int DNEAR clearflag = TRUE;    /* clear screen on screen change? */
  26. NOSHARE int DNEAR execlevel = 0;    /* execution IF level        */
  27. NOSHARE int DNEAR eolexist = TRUE;    /* does clear to EOL exist?    */
  28. NOSHARE int DNEAR revexist = FALSE;    /* does reverse video exist?    */
  29. NOSHARE int DNEAR exec_error = FALSE;    /* macro execution error pending? */
  30. NOSHARE int DNEAR flickcode = TRUE;    /* do flicker supression?    */
  31. CONST char *modename[] = {         /* name of modes        */
  32.     "WRAP", "CMODE", "SPELL", "EXACT", "VIEW", "OVER",
  33.     "MAGIC", "CRYPT", "ASAVE", "REP"};
  34. CONST char modecode[] = "WCSEVOMYAR";    /* letters to represent modes    */
  35. NOSHARE int DNEAR numfunc = NFUNCS;    /* number of bindable functions */
  36. NOSHARE int DNEAR gmode = 0;        /* global editor mode        */
  37. NOSHARE int DNEAR gflags = GFREAD;    /* global control flag        */
  38. NOSHARE int DNEAR gfcolor = 7;        /* global forgrnd color (white) */
  39. NOSHARE int DNEAR gbcolor = 0;        /* global backgrnd color (black)*/
  40. NOSHARE int DNEAR deskcolor = 0;    /* desktop background color    */
  41. NOSHARE int DNEAR gasave = 256;     /* global ASAVE size        */
  42. NOSHARE int DNEAR gacount = 256;    /* count until next ASAVE    */
  43. NOSHARE int DNEAR sgarbf = TRUE;     /* TRUE if screen is garbage    */
  44. NOSHARE int DNEAR mpresf = FALSE;    /* TRUE if message in last line */
  45. NOSHARE int DNEAR clexec = FALSE;    /* command line execution flag    */
  46. NOSHARE int DNEAR mstore = FALSE;    /* storing text to macro flag    */
  47. NOSHARE int DNEAR discmd = TRUE;     /* display command flag     */
  48. NOSHARE int DNEAR disinp = TRUE;     /* display input characters    */
  49. NOSHARE int DNEAR modeflag = TRUE;    /* display modelines flag    */
  50. NOSHARE int DNEAR popflag = FALSE;    /* pop-up windows enabled?    */
  51. NOSHARE int cpending = FALSE;        /* input character pending?    */
  52. NOSHARE int charpending;        /* character pushed back    */
  53. NOSHARE int DNEAR sscroll = FALSE;    /* smooth scrolling enabled flag*/
  54. NOSHARE int DNEAR hscroll = TRUE;    /* horizontal scrolling flag    */
  55. NOSHARE int DNEAR hjump = 1;        /* horizontal jump size     */
  56. NOSHARE int DNEAR ssave = FALSE;     /* safe save flag        */
  57. NOSHARE struct BUFFER *bstore = NULL;    /* buffer to store macro text to*/
  58. NOSHARE int DNEAR vtrow = 0;        /* Row location of SW cursor    */
  59. NOSHARE int DNEAR vtcol = 0;        /* Column location of SW cursor */
  60. NOSHARE int DNEAR ttrow = HUGE;     /* Row location of HW cursor    */
  61. NOSHARE int DNEAR ttcol = HUGE;     /* Column location of HW cursor */
  62. NOSHARE int DNEAR lbound = 0;        /* leftmost column of current line
  63.                        being displayed        */
  64. NOSHARE int DNEAR taboff = 0;        /* tab offset for display    */
  65. NOSHARE int DNEAR tabsize = 4;        /* current hard tab size    */
  66. NOSHARE int DNEAR stabsize = 0;        /* current soft tab size (0: use hard tabs)  */
  67. NOSHARE int DNEAR reptc = CTRL | 'U';    /* current universal repeat char*/
  68. NOSHARE int DNEAR abortc = CTRL | 'G';    /* current abort command char    */
  69. NOSHARE int DNEAR sterm = CTRL | '[';    /* search terminating character */
  70. NOSHARE int DNEAR searchtype = SRNORM;    /* current search style        */
  71. NOSHARE int DNEAR yankflag = TRUE;    /* current yank style        */
  72.  
  73. NOSHARE int DNEAR prefix = 0;        /* currently pending prefix bits */
  74. NOSHARE int DNEAR prenum = 0;        /*     "       "     numeric arg */
  75. NOSHARE int DNEAR predef = TRUE;    /*     "       "     default flag */
  76.  
  77. NOSHARE int DNEAR quotec = CTRL | 'Q';    /* quote char during mlreply() */
  78. NOSHARE CONST char *cname[] = {        /* names of colors        */
  79.     "BLACK", "RED", "GREEN", "YELLOW", "BLUE",
  80.     "MAGENTA", "CYAN", "GREY",
  81.     "GRAY", "LRED", "LGREEN", "LYELLOW", "LBLUE",
  82.     "LMAGENTA", "LCYAN", "WHITE"};
  83.  
  84. NOSHARE KILL *kbufp = NULL;        /* current kill buffer chunk pointer*/
  85. NOSHARE KILL *kbufh = NULL;        /* kill buffer header pointer    */
  86. NOSHARE    int kskip = 0;            /* # of bytes to skip in 1st kill chunk */
  87. NOSHARE int kused = KBLOCK;        /* # of bytes used in last kill chunk*/
  88. NOSHARE WINDOW *swindow = NULL;     /* saved window pointer     */
  89. NOSHARE int cryptflag = FALSE;        /* currently encrypting?    */
  90. NOSHARE int oldcrypt = FALSE;        /* using old(broken) encryption? */
  91. NOSHARE short *kbdptr;            /* current position in keyboard buf */
  92. NOSHARE short *kbdend = &kbdm[0];    /* ptr to end of the keyboard */
  93. NOSHARE int DNEAR kbdmode = STOP;    /* current keyboard macro mode    */
  94. NOSHARE int DNEAR kbdrep = 0;        /* number of repetitions    */
  95. NOSHARE int DNEAR restflag = FALSE;    /* restricted use?        */
  96. NOSHARE int DNEAR lastkey = 0;        /* last keystoke        */
  97. NOSHARE int DNEAR seed = 0;        /* random number seed        */
  98. NOSHARE long envram = 0l;        /* # of bytes current in use by malloc */
  99. NOSHARE int DNEAR macbug = FALSE;    /* macro debugging flag        */
  100. NOSHARE int DNEAR mouseflag = TRUE;    /* use the mouse?        */
  101. NOSHARE int DNEAR diagflag = FALSE;    /* diagonal mouse movements?    */
  102. CONST char errorm[] = "ERROR";        /* error literal        */
  103. CONST char truem[] = "TRUE";        /* true literal         */
  104. CONST char falsem[] = "FALSE";        /* false litereal        */
  105. NOSHARE int DNEAR cmdstatus = TRUE;    /* last command status        */
  106. NOSHARE char palstr[49] = "";        /* palette string        */
  107. NOSHARE char lastmesg[NSTRING] = "";     /* last message posted        */
  108. NOSHARE char *lastptr = NULL;        /* ptr to lastmesg[]        */
  109. NOSHARE int DNEAR saveflag = 0;     /* Flags, saved with the $target var */
  110. NOSHARE char *fline = NULL;        /* dynamic return line        */
  111. NOSHARE int DNEAR flen = 0;        /* current length of fline    */
  112. NOSHARE int DNEAR rval = 0;        /* return value of a subprocess */
  113. NOSHARE int DNEAR eexitflag = FALSE;    /* EMACS exit flag        */
  114. NOSHARE int DNEAR eexitval = 0;     /* and the exit return value    */
  115. NOSHARE int xpos = 0;        /* current column mouse is positioned to*/
  116. NOSHARE int ypos = 0;        /* current screen row         "        */
  117. NOSHARE int nclicks = 0;    /* cleared on any non-mouse event    */
  118. NOSHARE int disphigh = FALSE;    /* display high bit chars escaped    */
  119.  
  120. /* uninitialized global definitions */
  121.  
  122. NOSHARE int DNEAR currow;    /* Cursor row            */
  123. NOSHARE int DNEAR curcol;    /* Cursor column        */
  124. NOSHARE int DNEAR thisflag;    /* Flags, this command        */
  125. NOSHARE int DNEAR lastflag;    /* Flags, last command        */
  126. NOSHARE int DNEAR curgoal;    /* Goal for C-P, C-N        */
  127. NOSHARE WINDOW *curwp;         /* Current window        */
  128. NOSHARE BUFFER *curbp;         /* Current buffer        */
  129. NOSHARE WINDOW *wheadp;        /* Head of list of windows    */
  130. NOSHARE BUFFER *bheadp;        /* Head of list of buffers     */
  131. NOSHARE SCREEN *first_screen;    /* Head and current screen in list */
  132. NOSHARE BUFFER *blistp;        /* Buffer for C-X C-B        */
  133. NOSHARE BUFFER *slistp;        /* Buffer for A-B        */
  134.  
  135. NOSHARE char sres[NBUFN];    /* current screen resolution    */
  136.  
  137. NOSHARE    char lowcase[HICHAR];    /* lower casing map        */
  138. NOSHARE    char upcase[HICHAR];    /* upper casing map        */
  139.  
  140. NOSHARE char pat[NPAT];        /* Search pattern        */
  141. NOSHARE char tap[NPAT];        /* Reversed pattern array.    */
  142. NOSHARE char rpat[NPAT];    /* replacement pattern        */
  143.  
  144. /*    Various "Hook" execution variables    */
  145.  
  146. NOSHARE KEYTAB readhook;    /* executed on all file reads */
  147. NOSHARE KEYTAB wraphook;    /* executed when wrapping text */
  148. NOSHARE KEYTAB cmdhook;        /* executed before looking for a command */
  149. NOSHARE KEYTAB writehook;    /* executed on all file writes */
  150. NOSHARE KEYTAB exbhook;        /* executed when exiting a buffer */
  151. NOSHARE KEYTAB bufhook;        /* executed when entering a buffer */
  152.  
  153. /*    The variable patmatch holds the
  154.     string that satisfies the search com